﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KINLO.UI.Main.MES
{
    public class AlarmInfosData
    {
        // 私有静态变量来保存单例实例
        private static AlarmInfosData instance;

        // 定义数据模型来存储 Excel 数据
        private Dictionary<string, List<AlarmInfo>> data;


        // 私有构造函数，防止外部实例化
        private AlarmInfosData()
        {
            //// 初始化数据，从 Excel 文件中读取数据并存储在 data 变量中
            //string filePath = "YourExcelFilePath"; // 替换为您的 Excel 文件路径
            //data = ReadExcelData(filePath);
        }

        // 全局访问点，获取单例实例
        public static AlarmInfosData Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new AlarmInfosData();
                }
                return instance;
            }
        }

        // 获取 Excel 数据
        public Dictionary<string, List<AlarmInfo>> GetData()
        {
            return data;
        }

        public void WriteExcelData(Dictionary<string, List<AlarmInfo>> alarmInfosData)
        {
            this.data = alarmInfosData;
            // 与前面示例代码中的 ReadExcelData 方法相同，请根据您的 Excel 表格结构来实现逻辑
        }
    }

    public class AlarmInfo
    {
        /// <summary>
        /// 序号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 设备类型
        /// </summary>
        public string DeviceType { get; set; }

        /// <summary>
        /// 报警地址
        /// </summary>
        public string AlarmAddress { get; set; }

        /// <summary>
        /// 报警内容
        /// </summary>
        public string AlarmContent { get; set; }

        /// <summary>
        /// 报警触发条件
        /// </summary>
        public int Alarmcondition { get; set; }
    }
}
